import Access_Enum from "@/access/accessEnum";

/**
 * 检查权限（判断当前登录用户是否具有某个权限）
 * @param loginUser 当前登录用户
 * @param needAccess 需要检查的权限
 * @return boolean 有无权限
 */
const checkAccess = (
  loginUser: API.LoginUserVO,
  needAccess = Access_Enum.NOT_LOGIN,
) => {
  // 获取当前用户具有的权限 如果没有登录 默认没有权限
  const loginUserAccess = loginUser?.userRole ?? Access_Enum.NOT_LOGIN;
  // 如果当前不需要权限
  if (needAccess === Access_Enum.NOT_LOGIN) {
    return true;
  }
  // 如果需要权限为普通用户
  if (needAccess === Access_Enum.USER) {
    if (loginUserAccess === Access_Enum.NOT_LOGIN) {
      return false;
    }
  }
  // 如果需要权限为管理员
  if (needAccess === Access_Enum.ADMIN) {
    if (loginUserAccess !== Access_Enum.ADMIN) {
      return false;
    }
  }
  return true;
};

export default checkAccess;
